// pkg/requests/pagination.go
package requests

type PageRequest struct {
	Page     int `form:"page" binding:"min=1"`      // 页码，最小为1
	PageSize int `form:"page_size" binding:"min=1"` // 每页数量，最小为1
}

// 设置默认值的方法
func (p *PageRequest) SetDefaults(defaultPage, defaultPageSize int) {
	if p.Page == 0 {
		p.Page = defaultPage
	}
	if p.PageSize == 0 {
		p.PageSize = defaultPageSize
	}
}

// 计算偏移量
func (p *PageRequest) Offset() int {
	return (p.Page - 1) * p.PageSize
}
